1. Field of the Invention
This invention relates to scanning a partitioned data set (“PDS”) and more particularly relates to scanning a PDS with multiple expressions including expressions to exclude character strings.
2. Description of the Related Art
Operating system utilities for mainframe computers generally run in a foreground environment, a batch environment, or a combination of both. When a utility is invoked, the results of the invocation are generally presented to a display on a terminal where the utility was invoked, stored in a permanent file such as a data set, or a combination of both. The resulting data set can be stored in a database such as Information Management System (“IMS”), DB2®, or Oracle®, may be a Virtual Storage Access Method (“VSAM”) data set, or may be a PDS that is typical of a z/OS data set.
A PDS is a data structure and is typically used in conjunction with a mainframe computer. A z/OS operating system is a typical example of an operating system that makes use of a PDS. A PDS typically contains members which are indexed. Each member is typically made up of records. A record in a PDS is typically made of a character string of a fixed length that is assigned during initialization of the PDS. A common record length is 80 characters, but a record may be of any length allowed by the operating system supporting the PDS.
A PDS may be generated from a query of a database. For example, an IMS database used for banking may be accessed using a utility to generate bank statements and the statements may be stored in a PDS. The statements may be accessed later for further processing. For example, among the information extracted from a database may be a customer's name, address, phone number, account balance, etc. If an area code is changed, the one or more PDSs containing the statements may be required to be accessed to retrieve all statements with the affected area code. The selected records in the PDS of statements may then be changed to reflect the current area code before the statements are sent.
Time Sharing Option (“TSO”) is an interface program that allows a user to enter and run commands on a mainframe computer operating system through a terminal. The terminal may take the form of a dedicated terminal or may be a personal computer. Interactive System Productivity Facility (“ISPF”) is a utility that makes TSO easier to use. ISPF offers menus to select functions and parameters. Tasks can be completed from the terminal or submitted as a batch job using Job Control Language (“JCL”).
While ISPF and other similar front-end utilities are useful in processing a PDS, currently scanning a PDS for data that match certain criteria is very limited and cumbersome. There are standard utilities that run under ISPF, TSO directly, or other front-ends that allow a user to perform limited searching of a PDS, but the scan utilities are limited.
Currently, one scanning utility can scan a PDS using a single expression. The utility cannot process search criteria with multiple expressions. In addition, the utility cannot scan for records or members that exclude a particular character string. Another utility can process search criteria with multiple expressions, but is limited to a PDS with records of a fixed length of 80 characters. In addition, this utility cannot scan for records or members that exclude a particular character string. The scan utilities also cannot search members within a PDS while excluding specified members from the search. Likewise, the scan utilities cannot search records or members within a PDS while excluding specified records from the search. The scan utilities also cannot create a new member with the records returned from the scan and cannot create a new PDS with the records returned from the scan.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method for scanning a PDS comprising records of any length. Beneficially, such an apparatus, system, and method would allow search criteria allowing an unlimited number of expressions, would allow various exclude functions, and would allow post processing of the results of a scan to create a new member or PDS with the records returned from the scan.